package com.zyj.receive.mapper;

import java.util.List;

import com.zyj.assets.domain.AssetsInfo;
import com.zyj.receive.domain.AssetsReceive;

/**
 * 资产领用Mapper接口
 * 
 * @author zhuyujie
 * @date 2022-05-09
 */
public interface AssetsReceiveMapper 
{
    /**
     * 查询资产领用
     * 
     * @param receiveId 资产领用主键
     * @return 资产领用
     */
    public AssetsReceive selectAssetsReceiveByReceiveId(Long receiveId);

    /**
     * 查询资产领用列表
     * 
     * @param assetsReceive 资产领用
     * @return 资产领用集合
     */
    public List<AssetsReceive> selectAssetsReceiveList(AssetsReceive assetsReceive);

    public List<AssetsReceive> selectAssetsReceiveBorrowList(AssetsReceive assetsReceive);
    /**
     * 新增资产领用
     * 
     * @param assetsReceive 资产领用
     * @return 结果
     */
    public int insertAssetsReceive(AssetsReceive assetsReceive);

    /**
     * 修改资产领用
     * 
     * @param assetsReceive 资产领用
     * @return 结果
     */
    public int updateAssetsReceive(AssetsReceive assetsReceive);

    /**
     * 删除资产领用
     * 
     * @param receiveId 资产领用主键
     * @return 结果
     */
    public int deleteAssetsReceiveByReceiveId(Long receiveId);

    /**
     * 批量删除资产领用
     * 
     * @param receiveIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteAssetsReceiveByReceiveIds(String[] receiveIds);

    /**
     * 批量删除资产
     * 
     * @param receiveIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteAssetsInfoByIds(String[] receiveIds);
    
    /**
     * 批量新增资产
     * 
     * @param assetsInfoList 资产列表
     * @return 结果
     */
    public int batchAssetsInfo(List<AssetsInfo> assetsInfoList);
    

    /**
     * 通过资产领用主键删除资产信息
     * 
     * @param receiveId 资产领用ID
     * @return 结果
     */
    public int deleteAssetsInfoById(Long receiveId);

    public List<AssetsReceive> selectAssetsReceivePredictedList(AssetsReceive assetsReceive);
}
